import { ISysMaterialGroup } from '/@/views/supplychain/sysmaterialgroup/api/interface';
import { ISysMeasureUnit } from '/@/views/supplychain/sysmeasureunit/api/interface';
import { ISysWarehouseStock } from '/@/views/supplychain/syswarehousestock/api/interface';

export interface ISysMaterial {
	ID?: string | null;
	Name: string | null;
	Code: string | null;
	MaterialGroupId: null;
	MaterialGroup?: ISysMaterialGroup;
	Description: string | null;
	State: '启用' | '禁用';
	UnitId: null;
	Unit?: ISysMeasureUnit;
	Remark: string | null;
	MaterialId: string | null;
}

export interface ISysMaterialVm {
	Entity: ISysMaterial;
	ActionName?: string | null;
	IsMyApprove?: boolean | null;
	MaterialName?: string | null;
	DeletedFileIds?: string[] | null;
	Attributes?: Array<{ ID?: string; SkuId?: string; ValueId: string; }> | null;
	SelectedAttributesIds?: string[] | null;
	Stocks?: ISysWarehouseStock[] | null;
	NoKKeyAttributesPromptId?: string | null;
}

export interface ISysMaterialView extends ISysMaterial {
	/** 物料库存信息列表 */
	Stocks?: ISysWarehouseStock[] | null;
}

export interface ISysMaterialQuery {
	Name?: string | null;
	Code?: string | null;
	State?: number | null;
	ErpId?: string | null;
	ErpName?: string | null;
	ErpModel?: string | null;
	SkuName?: string | null;
	SkuCode?: string | null;
}